home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc Source Code / Storage / StorageU.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-22  |  22.7 KB  |  634 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        StorageU.cpp
  3.  
  4.     Contains:    Implementation of ODStorageUnit
  5.  
  6.     Owned by:    Vincent Lo
  7.  
  8.     Copyright:    © 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.         <11>      8/3/95    RR        #1257260: Collapse B classes. Remove
  13.                                     somInit methods. Don't call IsInitialized
  14.                                     or SubclassResponsibility
  15.         <10>     5/26/95    VL        1251403: Multithreading naming support.
  16.          <9>     5/19/95    VL        1249626: in length and out byteArray for
  17.                                     GetValue and GetPromiseValue.
  18.          <8>     3/27/95    VL        1231412: Removed CopyTo.
  19.          <7>     3/10/95    VL        1226116: Added SetStorageUnitRef.
  20.          <6>     1/26/95    VL        #???: SURef is not a 4-byte array.
  21.          <5>    12/20/94    VL        1195012: Make Storage calls be
  22.                                     marshallable.
  23.          <4>     8/26/94    VL        1183174: Removed CloneTo.
  24.          <3>     8/11/94    VL        Added CreateCursor, modified CreateView and
  25.                                     changed GetStorageUnitRefIterator to
  26.                                     CreateStorageUnitRefIterator.
  27.          <2>      7/5/94    VL        Added SubClassResponsibility.
  28.          <1>     6/28/94    VL        first checked in
  29.  
  30.     To Do:
  31. */
  32.  
  33. #define ODStorageUnit_Class_Source
  34. #include <StorageU.xih>
  35.  
  36. SOM_Scope void  SOMLINK ODStorageUnitInitStorageUnit(ODStorageUnit *somSelf, Environment *ev,
  37.         ODDraft* draft,
  38.         ODStorageUnitID suid)
  39. {
  40.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  41.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitInitStorageUnit");
  42. }
  43.  
  44. SOM_Scope ODDraft*  SOMLINK ODStorageUnitGetDraft(ODStorageUnit *somSelf, Environment *ev)
  45. {
  46.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  47.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetDraft");
  48.  
  49.     WARN("A subclass should have overridden this method!");
  50.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  51.     
  52.     return kODNULL;
  53. }
  54.  
  55. SOM_Scope ODSession*  SOMLINK ODStorageUnitGetSession(ODStorageUnit *somSelf, Environment *ev)
  56. {
  57.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  58.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetSession");
  59.  
  60.     WARN("A subclass should have overridden this method!");
  61.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  62.     
  63.     return kODNULL;
  64. }
  65.  
  66. SOM_Scope ODBoolean  SOMLINK ODStorageUnitExists(ODStorageUnit *somSelf, Environment *ev,
  67.         ODPropertyName propertyName,
  68.         ODValueType valueType,
  69.         ODValueIndex valueIndex)
  70. {
  71.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  72.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitExists");
  73.  
  74.     WARN("A subclass should have overridden this method!");
  75.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  76.     
  77.     return kODNULL;
  78. }
  79.  
  80. SOM_Scope ODBoolean  SOMLINK ODStorageUnitExistsWithCursor(ODStorageUnit *somSelf, Environment *ev,
  81.         ODStorageUnitCursor* cursor)
  82. {
  83.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  84.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitExistsWithCursor");
  85.  
  86.     WARN("A subclass should have overridden this method!");
  87.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  88.     
  89.     return kODFalse;
  90. }
  91.  
  92. SOM_Scope ODULong  SOMLINK ODStorageUnitCountProperties(ODStorageUnit *somSelf, Environment *ev)
  93. {
  94.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  95.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCountProperties");
  96.  
  97.     WARN("A subclass should have overridden this method!");
  98.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  99.     
  100.     return 0;
  101. }
  102.  
  103. SOM_Scope ODULong  SOMLINK ODStorageUnitCountValues(ODStorageUnit *somSelf, Environment *ev)
  104. {
  105.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  106.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCountValues");
  107.  
  108.     WARN("A subclass should have overridden this method!");
  109.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  110.     
  111.     return 0;
  112. }
  113.  
  114. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitFocus(ODStorageUnit *somSelf, Environment *ev,
  115.         ODPropertyName propertyName,
  116.         ODPositionCode propertyPosCode,
  117.         ODValueType valueType,
  118.         ODValueIndex valueIndex,
  119.         ODPositionCode valuePosCode)
  120. {
  121.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  122.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitFocus");
  123.  
  124.     WARN("A subclass should have overridden this method!");
  125.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  126.     
  127.     return somSelf;
  128. }
  129.  
  130. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitFocusWithCursor(ODStorageUnit *somSelf, Environment *ev,
  131.         ODStorageUnitCursor* cursor)
  132. {
  133.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  134.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitFocusWithCursor");
  135.  
  136.     WARN("A subclass should have overridden this method!");
  137.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  138.     
  139.     return somSelf;
  140. }
  141.  
  142. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitExternalize(ODStorageUnit *somSelf, Environment *ev)
  143. {
  144.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  145.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitExternalize");
  146.  
  147.     WARN("A subclass should have overridden this method!");
  148.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  149.     
  150.     return somSelf;
  151. }
  152.  
  153. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitInternalize(ODStorageUnit *somSelf, Environment *ev)
  154. {
  155.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  156.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitInternalize");
  157.  
  158.     WARN("A subclass should have overridden this method!");
  159.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  160.     
  161.     return somSelf;
  162. }
  163.  
  164. SOM_Scope ODID  SOMLINK ODStorageUnitGetID(ODStorageUnit *somSelf, Environment *ev)
  165. {
  166.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  167.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetID");
  168.  
  169.     WARN("A subclass should have overridden this method!");
  170.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  171.     
  172.     return 0;
  173. }
  174.  
  175. SOM_Scope ODStorageUnitName  SOMLINK ODStorageUnitGetName(ODStorageUnit *somSelf, Environment *ev)
  176. {
  177.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  178.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetName");
  179.  
  180.     WARN("A subclass should have overridden this method!");
  181.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  182.     
  183.     return kODNULL;
  184. }
  185.  
  186. SOM_Scope void  SOMLINK ODStorageUnitSetName(ODStorageUnit *somSelf, Environment *ev,
  187.         ODStorageUnitName name)
  188. {
  189.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  190.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetName");
  191.  
  192.     WARN("A subclass should have overridden this method!");
  193.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  194. }
  195.  
  196. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitAddProperty(ODStorageUnit *somSelf, Environment *ev,
  197.         ODPropertyName propertyName)
  198. {
  199.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  200.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitAddProperty");
  201.  
  202.     WARN("A subclass should have overridden this method!");
  203.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  204.     
  205.     return somSelf;
  206. }
  207.  
  208. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitAddValue(ODStorageUnit *somSelf, Environment *ev,
  209.         ODValueType type)
  210. {
  211.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  212.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitAddValue");
  213.  
  214.     WARN("A subclass should have overridden this method!");
  215.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  216.     
  217.     return somSelf;
  218. }
  219.  
  220. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitRemove(ODStorageUnit *somSelf, Environment *ev)
  221. {
  222.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  223.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitRemove");
  224.  
  225.     WARN("A subclass should have overridden this method!");
  226.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  227.     
  228.     return somSelf;
  229. }
  230.  
  231. SOM_Scope void  SOMLINK ODStorageUnitCloneInto(ODStorageUnit *somSelf, Environment *ev,
  232.         ODDraftKey key,
  233.         ODStorageUnit* destStorageUnit,
  234.         ODID initiatingFrame)
  235. {
  236.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  237.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCloneInto");
  238.  
  239.     WARN("A subclass should have overridden this method!");
  240.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  241. }
  242.  
  243. SOM_Scope ODStorageUnitView*  SOMLINK ODStorageUnitCreateView(ODStorageUnit *somSelf, Environment *ev)
  244. {
  245.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  246.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCreateView");
  247.  
  248.     WARN("A subclass should have overridden this method!");
  249.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  250.     
  251.     return kODNULL;
  252. }
  253.  
  254. SOM_Scope ODStorageUnitCursor*  SOMLINK ODStorageUnitCreateCursor(ODStorageUnit *somSelf, Environment *ev,
  255.         ODPropertyName propertyName,
  256.         ODValueType valueType,
  257.         ODValueIndex valueIndex)
  258. {
  259.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  260.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCreateCursor");
  261.  
  262.     WARN("A subclass should have overridden this method!");
  263.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  264.     
  265.     return kODNULL;
  266. }
  267.  
  268. SOM_Scope ODStorageUnitCursor*  SOMLINK ODStorageUnitCreateCursorWithFocus(ODStorageUnit *somSelf, Environment *ev)
  269. {
  270.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  271.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCreateCursorWithFocus");
  272.  
  273.     WARN("A subclass should have overridden this method!");
  274.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  275.     
  276.     return kODNULL;
  277. }
  278.  
  279. SOM_Scope ODPropertyName  SOMLINK ODStorageUnitGetProperty(ODStorageUnit *somSelf, Environment *ev)
  280. {
  281.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  282.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetProperty");
  283.  
  284.     WARN("A subclass should have overridden this method!");
  285.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  286.     
  287.     return kODNULL;
  288. }
  289.  
  290. SOM_Scope ODValueType  SOMLINK ODStorageUnitGetType(ODStorageUnit *somSelf, Environment *ev)
  291. {
  292.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  293.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetType");
  294.  
  295.     WARN("A subclass should have overridden this method!");
  296.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  297.     
  298.     return kODNULL;
  299. }
  300.  
  301. SOM_Scope void  SOMLINK ODStorageUnitSetType(ODStorageUnit *somSelf, Environment *ev,
  302.         ODValueType valueType)
  303. {
  304.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  305.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetType");
  306.  
  307.     WARN("A subclass should have overridden this method!");
  308.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  309. }
  310.  
  311. SOM_Scope void  SOMLINK ODStorageUnitSetOffset(ODStorageUnit *somSelf, Environment *ev,
  312.         ODULong offset)
  313. {
  314.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  315.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetOffset");
  316.  
  317.     WARN("A subclass should have overridden this method!");
  318.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  319. }
  320.  
  321. SOM_Scope ODULong  SOMLINK ODStorageUnitGetOffset(ODStorageUnit *somSelf, Environment *ev)
  322. {
  323.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  324.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetOffset");
  325.  
  326.     WARN("A subclass should have overridden this method!");
  327.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  328.     
  329.     return 0;
  330. }
  331.  
  332. SOM_Scope ODULong  SOMLINK ODStorageUnitGetValue(ODStorageUnit *somSelf, Environment *ev,
  333.     ODULong length,
  334.     ODByteArray* value)
  335. {
  336.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  337.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetValue");
  338.  
  339.     WARN("A subclass should have overridden this method!");
  340.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  341.     
  342.     return 0;
  343. }
  344.  
  345. SOM_Scope void  SOMLINK ODStorageUnitSetValue(ODStorageUnit *somSelf, Environment *ev,
  346.     ODByteArray* value)
  347. {
  348.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  349.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetValue");
  350.  
  351.     WARN("A subclass should have overridden this method!");
  352.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  353. }
  354.  
  355. SOM_Scope void  SOMLINK ODStorageUnitInsertValue(ODStorageUnit *somSelf, Environment *ev,
  356.         ODByteArray* value)
  357. {
  358.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  359.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitInsertValue");
  360.  
  361.     WARN("A subclass should have overridden this method!");
  362.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  363. }
  364.  
  365. SOM_Scope void  SOMLINK ODStorageUnitDeleteValue(ODStorageUnit *somSelf, Environment *ev,
  366.         ODULong length)
  367. {
  368.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  369.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitDeleteValue");
  370.  
  371.     WARN("A subclass should have overridden this method!");
  372.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  373. }
  374.  
  375. SOM_Scope ODULong  SOMLINK ODStorageUnitGetSize(ODStorageUnit *somSelf, Environment *ev)
  376. {
  377.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  378.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetSize");
  379.  
  380.     WARN("A subclass should have overridden this method!");
  381.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  382.     
  383.     return 0;
  384. }
  385.  
  386. SOM_Scope ODBoolean  SOMLINK ODStorageUnitIsValidStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  387.         ODStorageUnitRef aRef)
  388. {
  389.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  390.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitIsValidStorageUnitRef");
  391.  
  392.     WARN("A subclass should have overridden this method!");
  393.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  394.     
  395.     return kODFalse;
  396. }
  397.  
  398. SOM_Scope   void SOMLINK ODStorageUnitGetStrongStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  399.         ODStorageUnitID embeddedSUID,
  400.         ODStorageUnitRef ref)
  401. {
  402.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  403.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetStrongStorageUnitRef");
  404.  
  405.     WARN("A subclass should have overridden this method!");
  406.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  407. }
  408.  
  409. SOM_Scope void  SOMLINK ODStorageUnitGetWeakStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  410.         ODStorageUnitID embeddedSUID,
  411.         ODStorageUnitRef ref)
  412. {
  413.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  414.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetWeakStorageUnitRef");
  415.  
  416.     WARN("A subclass should have overridden this method!");
  417.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  418. }
  419.  
  420. SOM_Scope ODBoolean  SOMLINK ODStorageUnitIsStrongStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  421.         ODStorageUnitRef ref)
  422. {
  423.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  424.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitIsStrongStorageUnitRef");
  425.  
  426.     WARN("A subclass should have overridden this method!");
  427.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  428.     
  429.     return kODFalse;
  430. }
  431.  
  432. SOM_Scope ODBoolean  SOMLINK ODStorageUnitIsWeakStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  433.         ODStorageUnitRef ref)
  434. {
  435.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  436.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitIsWeakStorageUnitRef");
  437.  
  438.     WARN("A subclass should have overridden this method!");
  439.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  440.     
  441.     return kODFalse;
  442. }
  443.  
  444. SOM_Scope ODStorageUnit*  SOMLINK ODStorageUnitRemoveStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  445.         ODStorageUnitRef aRef)
  446. {
  447.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  448.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitRemoveStorageUnitRef");
  449.  
  450.     WARN("A subclass should have overridden this method!");
  451.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  452.     
  453.     return somSelf;
  454. }
  455.  
  456. SOM_Scope ODStorageUnitID  SOMLINK ODStorageUnitGetIDFromStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  457.         ODStorageUnitRef aRef)
  458. {
  459.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  460.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetIDFromStorageUnitRef");
  461.  
  462.     WARN("A subclass should have overridden this method!");
  463.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  464.     
  465.     return 0;
  466. }
  467.  
  468. SOM_Scope ODStorageUnitRefIterator*  SOMLINK ODStorageUnitCreateStorageUnitRefIterator(ODStorageUnit *somSelf, Environment *ev)
  469. {
  470.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  471.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitCreateStorageUnitRefIterator");
  472.  
  473.     WARN("A subclass should have overridden this method!");
  474.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  475.     
  476.     return kODNULL;
  477. }
  478.  
  479. SOM_Scope void  SOMLINK ODStorageUnitSetStorageUnitRef(ODStorageUnit *somSelf, Environment *ev,
  480.         ODStorageUnitID embeddedSUID, ODStorageUnitRef ref)
  481. {
  482.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  483.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetStorageUnitRef");
  484.  
  485.     WARN("A subclass should have overridden this method!");
  486.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  487. }
  488.  
  489. SOM_Scope ODULong  SOMLINK ODStorageUnitGetGenerationNumber(ODStorageUnit *somSelf, Environment *ev)
  490. {
  491.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  492.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetGenerationNumber");
  493.  
  494.     WARN("A subclass should have overridden this method!");
  495.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  496.     
  497.     return 0;
  498. }
  499.  
  500. SOM_Scope ODULong  SOMLINK ODStorageUnitIncrementGenerationNumber(ODStorageUnit *somSelf, Environment *ev)
  501. {
  502.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  503.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitIncrementGenerationNumber");
  504.  
  505.     WARN("A subclass should have overridden this method!");
  506.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  507.     
  508.     return 0;
  509. }
  510.  
  511. SOM_Scope ODBoolean  SOMLINK ODStorageUnitIsPromiseValue(ODStorageUnit *somSelf, Environment *ev)
  512. {
  513.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  514.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitIsPromiseValue");
  515.  
  516.     WARN("A subclass should have overridden this method!");
  517.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  518.     
  519.     return kODFalse;
  520. }
  521.  
  522. SOM_Scope void  SOMLINK ODStorageUnitSetPromiseValue(ODStorageUnit *somSelf, Environment *ev,
  523.         ODValueType valueType,
  524.         ODULong offset,
  525.         ODByteArray* value,
  526.         ODPart* sourcePart)
  527. {
  528.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  529.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitSetPromiseValue");
  530.  
  531.     WARN("A subclass should have overridden this method!");
  532.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  533. }
  534.  
  535. SOM_Scope ODULong  SOMLINK ODStorageUnitGetPromiseValue(ODStorageUnit *somSelf, Environment *ev,
  536.         ODValueType valueType,
  537.         ODULong offset,
  538.         ODULong length,
  539.         ODByteArray* value,
  540.         ODPart** sourcePart)
  541. {
  542.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  543.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitGetPromiseValue");
  544.  
  545.     WARN("A subclass should have overridden this method!");
  546.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  547.     
  548.     return 0;
  549. }
  550.  
  551. SOM_Scope void  SOMLINK ODStorageUnitClearAllPromises(ODStorageUnit *somSelf, Environment *ev)
  552. {
  553.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  554.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitClearAllPromises");
  555.  
  556.     WARN("A subclass should have overridden this method!");
  557.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  558. }
  559.  
  560. SOM_Scope void  SOMLINK ODStorageUnitResolveAllPromises(ODStorageUnit *somSelf, Environment *ev)
  561. {
  562.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  563.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitResolveAllPromises");
  564.  
  565.     WARN("A subclass should have overridden this method!");
  566.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  567. }
  568.  
  569. SOM_Scope ODStorageUnitKey  SOMLINK ODStorageUnitLock(ODStorageUnit *somSelf, Environment *ev,
  570.         ODStorageUnitKey key)
  571. {
  572.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  573.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitLock");
  574.  
  575.     WARN("A subclass should have overridden this method!");
  576.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  577.     
  578.     return 0;
  579. }
  580.  
  581. SOM_Scope void  SOMLINK ODStorageUnitUnlock(ODStorageUnit *somSelf, Environment *ev,
  582.         ODStorageUnitKey key)
  583. {
  584.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  585.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitUnlock");
  586.  
  587.     WARN("A subclass should have overridden this method!");
  588.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  589. }
  590.  
  591. SOM_Scope void  SOMLINK ODStorageUnitsomUninit(ODStorageUnit *somSelf)
  592. {
  593.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  594.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitsomUninit");
  595.  
  596.     ODStorageUnit_parent_ODRefCntObject_somUninit(somSelf);
  597. }
  598.  
  599. SOM_Scope void  SOMLINK ODStorageUnitAcquire(ODStorageUnit *somSelf, Environment *ev)
  600. {
  601.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  602.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitAcquire");
  603.  
  604.     ODStorageUnit_parent_ODRefCntObject_Acquire(somSelf,ev);
  605. }
  606.  
  607. SOM_Scope void  SOMLINK ODStorageUnitRelease(ODStorageUnit *somSelf, Environment *ev)
  608. {
  609.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  610.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitRelease");
  611.  
  612.     ODStorageUnit_parent_ODRefCntObject_Release(somSelf,ev);
  613. }
  614.  
  615. SOM_Scope ODSize  SOMLINK ODStorageUnitPurge(ODStorageUnit *somSelf, Environment *ev,
  616.         ODSize size)
  617. {
  618.     /* ODStorageUnitData *somThis = ODStorageUnitGetData(somSelf); */
  619.     ODStorageUnitMethodDebug("ODStorageUnit","ODStorageUnitPurge");
  620.  
  621.     ODSize purged = 0; ODVolatile(purged);
  622.     
  623.     SOM_TRY
  624.         purged = (ODStorageUnit_parent_ODRefCntObject_Purge(somSelf,ev,size));
  625.     SOM_CATCH_ALL
  626.         WARN("Error %ld trying to purge in ODBaseShape__Purge",ErrorCode());
  627.         SetErrorCode(kODNoError);        // dh - Eat the exception; Purge should not 
  628.                                         // propagate it because clients function
  629.                                         // fine whether memory was purged or not.
  630.     SOM_ENDTRY
  631.  
  632.     return purged;
  633. }
  634.